
public class GameDefine {
	
	// FPS
	public final static int 	REFRESH_FPS 		= 60;
	
	
	// Location & resolution
	public final static int 	WINDOW_WIDTH 		= 800;
	public final static int 	WINDOW_HEIGHT 		= 600;
	public final static int 	WINDOW_LOCATIONX 	= 200;
	public final static int 	WINDOW_LOCATIONY	= 100;
	
	// Title
	public final static String 	WINDOW_TITLE		= "My3D";
	
	public final static int		MAX_LEVEL		= 12;
	
	// Menu current choosing
	public static final int 	MC_Starting 	= 0;
	public static final int 	MC_Load 		= 1;
	public static final int 	MC_Exit 		= 2;
	public static final int	 	MC_About 		= 3;
	
	
	// Menu state
	public static final int 	MS_Starting			= 0;
	public static final int		MS_Choosing 		= 1;
	public static final int		MS_About_in			= 2;
	public static final int		MS_About_Choose		= 3;
	public static final int		MS_About_out		= 4;
	public static final int		MS_Load_in			= 5;
	public static final int		MS_Load_Choose		= 6;
	public static final int 	MS_Load_out			= 7;
	public static final int 	MS_Closing			= 8;
	public static final int 	MS_Rotating			= 9;
	
	// Playing state
	public static final int 	PS_Starting			= 0;
	public static final int		PS_Waiting			= 1;
	public static final int		PS_Rotating			= 2;
	public static final int		PS_Losing			= 3;
	public static final int		PS_Switching		= 4;
	public static final int		PS_Teleporting_in	= 5;
	public static final int		PS_Teleporting_out	= 6;
	public static final int		PS_Falling			= 7;
	public static final int		PS_Winning			= 8;
	public static final int		PS_Menu_in			= 9;
	public static final int		PS_Menu_out			= 10;
	public static final int		PS_Menu_Choose		= 11;
	public static final int		PS_Closing			= 12;
	public static final int		PS_Save_in			= 13;
	public static final int		PS_Save_out			= 14;
	public static final int		PS_Save_Choose		= 15;
	public static final int		PS_Camera_in		= 16;
	public static final int		PS_Camera_Rotating	= 17;
	public static final int		PS_Camera_out		= 18;
	
	// Playing menu
	public static final int		PM_Resume			= 0;
	public static final int		PM_Reset			= 1;
	public static final int		PM_Camera			= 2;
	public static final int		PM_Save				= 3;
	public static final int		PM_Exit				= 4;
	
	// Cube state
	public static final int		CS_Stand		= 0;
	public static final int		CS_Lie_Ver		= 1;
	public static final int		CS_Lie_Hor		= 2;
	
	// Cube rotated direction
	public static final int		DIR_NONE		= 0;
	public static final int		DIR_LEFT		= 1;
	public static final int		DIR_RIGHT		= 2;
	public static final int		DIR_UP 			= 3;
	public static final int		DIR_DOWN		= 4;
	
	
	// File name of save game
	public static final String		fileName_SaveGame	 	= "saveGame.txt";
	
	// File name of texture	- Menu state
	public static final String		fileName_CStart			= "images/CStart.png";
	public static final String		fileName_CAbout			= "images/CAbout.png";
	public static final String		fileName_CExit			= "images/CExit.png";
	public static final String		fileName_CLoad			= "images/CLoad.png";
	public static final String		fileName_Title			= "images/BloxorzTitle.png";
	public static final String		fileName_Logo			= "images/Logo.png";
	public static final String		fileName_AboutL			= "images/AboutL.png";
	public static final String		fileName_AboutR			= "images/AboutR.png";
	public static final String		fileName_LoadL			= "images/LoadL.png";
	public static final String		fileName_LoadR			= "images/LoadR.png";
	public static final String		fileName_Choose			= "images/Choose.png";
	public static final String		fileName_TitEmpty		= "images/Empty.png";
	public static final String		fileName_TitLevel		= "images/Level.png";
	public static final String		fileName_TitNumber		= "images/Number.png";

	public static final String		fileName_SBM_Left		= "images/SkyboxMenu/SkyMenuLeft.png";
	public static final String		fileName_SBM_Right		= "images/SkyboxMenu/SkyMenuRight.png";
	public static final String		fileName_SBM_Top		= "images/SkyboxMenu/SkyMenuTop.png";
	public static final String		fileName_SBM_Bottom		= "images/SkyboxMenu/SkyMenuBottom.png";
	public static final String		fileName_SBM_Front		= "images/SkyboxMenu/SkyMenuFront.png";
	public static final String		fileName_SBM_Back		= "images/SkyboxMenu/SkyMenuBack.png";
	
	// File name of texture - Playing state
	public static final String		fileName_SBP_Left		= "images/SkyboxPlaying/SkyPlayingLeft.png";
	public static final String		fileName_SBP_Right		= "images/SkyboxPlaying/SkyPlayingRight.png";
	public static final String		fileName_SBP_Top		= "images/SkyboxPlaying/SkyPlayingTop.png";
	public static final String		fileName_SBP_Bottom		= "images/SkyboxPlaying/SkyPlayingBottom.png";
	public static final String		fileName_SBP_Front		= "images/SkyboxPlaying/SkyPlayingFront.png";
	public static final String		fileName_SBP_Back		= "images/SkyboxPlaying/SkyPlayingBack.png";
	
	public static final String		fileName_LandNormal		= "images/LandNormal.png";
	public static final String		fileName_LandSwitch		= "images/LandSwitch.png";
	public static final String		fileName_LandGoal		= "images/LandGoal.png";
	public static final String		fileName_LandRef		= "images/LandRef.png";
	public static final String		fileName_LandTeleport	= "images/LandTeleport.png";
	public static final String		fileName_LandSoft	 	= "images/LandSoft.png";
	public static final String		fileName_Cube			= "images/Block.png";
	public static final String		fileName_Menu_Playing	= "images/Menu_Playing.png";
	public static final String		fileName_Camera			= "images/Camera.png";
	
	
	// File Sound for game
	public static final String		fileSound_Move			= "sounds/Move.wav";
	public static final String		fileSound_Menu			= "sounds/Menu.wav";
	public static final String		fileSound_MenuCube		= "sounds/MenuCube.wav";
	
	// TextureCoord standard
	public static final TextureCoord	StandardCoord		= new TextureCoord(0.00f, 1.00f, 0.00f, 1.00f);
	
	
	// Define position eye, center & up
	public static double 	eyeX		= 0.0;
	public static double 	eyeY		= 0.0;
	public static double 	eyeZ		= 0.0;
	
	public static double 	centerX		= 0.0;
	public static double 	centerY		= 0.0;
	public static double	centerZ		= 0.0;
		
	public static double 	upX			= 0.0;
	public static double 	upY			= 1.0;
	public static double 	upZ			= 0.0;
	
	
	// Define type of land
	public static final int		Land_None		= 0;
	public static final int		Land_Normal		= 1;
	public static final int 	Land_Switch		= 3;
	public static final int		Land_Ref		= 4;
	public static final int		Land_Soft		= 7;
	public static final int		Land_Teleport	= 9;
	public static final int 	Land_Goal		= 5;
	
	// Use for viewport
	public static		int		Width;
	public static		int		Height;
}
